其他
每天学习一点R:7.矩阵
矩阵
矩阵是由多行和多列数据组成的多元数据组,是R语言分析中较为常用的数据格式之一。
矩阵的建立
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
data参数输入的为矩阵的元素,不能为空
nrow参数输入的是矩阵的行数,默认为1
ncol参数输入的是矩阵的列数,默认为1
byrow参数控制矩阵元素的排列方式,TRUE表示按行排列,FALSE表示按列排列,默认为FALSE
dimnames参数输入矩阵的行名和列名,可以不输入,默认为NULL
#创建一个矩阵
matrix(1:6,nrow=2,ncol=3,byrow=FALSE)
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
#改变矩阵的行数和列数
matrix(1:6,nrow=3,ncol=2,byrow=FALSE)
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
#改变byrow参数
matrix(1:6,nrow=3,ncol=2,byrow=T)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
#设定矩阵的行名和列名
matrix(1:6,nrow=3,ncol=2,byrow=T,dimnames=list(c("A","B","C"),c("D","E")))
D E
A 1 2
B 3 4
C 5 6
矩阵的相关操作
nrow()和ncol()命令可以查看矩阵的行数和列数,dim()也可直接返回矩阵的行数和列数。
rownames()和colnames()命令可以查看或修改矩阵的行名和列名。
查看矩阵中某个特定元素应用[行数,列数],同时还可对该元素进行重新赋值。
diag()函数可以返回或重新定义矩阵的对角线。
lower.tri()和upper.tri()函数用于查看或改变矩阵的下三角和上三角部分。
t()对矩阵进行转置。
rowSums()和colSums()计算矩阵各行和各列的总和。
rowMeans()和colMeans()计算矩阵各行和各列的平均值。
矩阵的计算
对于维数相同的矩阵,对处于相同位置的元素进行加减计算,直接采用数学符号即可,参考向量的计算。
矩阵的伴随矩阵应用LoopAnalyst包中的make.adjoint()命令生成。
矩阵的逆矩阵应用solve()命令生成。
eigen()命令计算矩阵的特征值和特征向量。
矩阵的中心化和标准化
在进行部分统计学分析之前,可能需要对数据进行中心化或标准化处理。
scale(x, center = TRUE, scale = TRUE)
x为待处理的矩阵
center定义是否对矩阵进行中心化
scale定义是否对矩阵进行标准化
扩展阅读